<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>19.9. quopri — Encode and decode MIME quoted-printable data &mdash; Python 3.4.3 documentation</title>
    
    <link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '3.4.3',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="../_static/sidebar.js"></script>
    <link rel="search" type="application/opensearchdescription+xml"
          title="Search within Python 3.4.3 documentation"
          href="../_static/opensearch.xml"/>
    <link rel="author" title="About these documents" href="../about.html" />
    <link rel="copyright" title="Copyright" href="../copyright.html" />
    <link rel="top" title="Python 3.4.3 documentation" href="../index.html" />
    <link rel="up" title="19. Internet Data Handling" href="netdata.html" />
    <link rel="next" title="19.10. uu — Encode and decode uuencode files" href="uu.html" />
    <link rel="prev" title="19.8. binascii — Convert between binary and ASCII" href="binascii.html" />
    <link rel="shortcut icon" type="image/png" href="../_static/py.png" />
    <script type="text/javascript" src="../_static/copybutton.js"></script>
    <script type="text/javascript" src="../_static/version_switch.js"></script>
    
 

  </head>
  <body>  
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="uu.html" title="19.10. uu — Encode and decode uuencode files"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="binascii.html" title="19.8. binascii — Convert between binary and ASCII"
             accesskey="P">previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="https://www.python.org/">Python</a> &raquo;</li>
        <li>
          <span class="version_switcher_placeholder">3.4.3</span>
          <a href="../index.html">Documentation</a> &raquo;
        </li>

          <li><a href="index.html" >The Python Standard Library</a> &raquo;</li>
          <li><a href="netdata.html" accesskey="U">19. Internet Data Handling</a> &raquo;</li> 
      </ul>
    </div>    

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="module-quopri">
<span id="quopri-encode-and-decode-mime-quoted-printable-data"></span><h1>19.9. <a class="reference internal" href="#module-quopri" title="quopri: Encode and decode files using the MIME quoted-printable encoding."><tt class="xref py py-mod docutils literal"><span class="pre">quopri</span></tt></a> &#8212; Encode and decode MIME quoted-printable data<a class="headerlink" href="#module-quopri" title="Permalink to this headline">¶</a></h1>
<p id="index-0"><strong>Source code:</strong> <a class="reference external" href="https://hg.python.org/cpython/file/3.4/Lib/quopri.py">Lib/quopri.py</a></p>
<hr class="docutils" />
<p>This module performs quoted-printable transport encoding and decoding, as
defined in <span class="target" id="index-1"></span><a class="rfc reference external" href="http://tools.ietf.org/html/rfc1521.html"><strong>RFC 1521</strong></a>: &#8220;MIME (Multipurpose Internet Mail Extensions) Part One:
Mechanisms for Specifying and Describing the Format of Internet Message Bodies&#8221;.
The quoted-printable encoding is designed for data where there are relatively
few nonprintable characters; the base64 encoding scheme available via the
<a class="reference internal" href="base64.html#module-base64" title="base64: RFC 3548: Base16, Base32, Base64 Data Encodings; Base85 and Ascii85"><tt class="xref py py-mod docutils literal"><span class="pre">base64</span></tt></a> module is more compact if there are many such characters, as when
sending a graphics file.</p>
<dl class="function">
<dt id="quopri.decode">
<tt class="descclassname">quopri.</tt><tt class="descname">decode</tt><big>(</big><em>input</em>, <em>output</em>, <em>header=False</em><big>)</big><a class="headerlink" href="#quopri.decode" title="Permalink to this definition">¶</a></dt>
<dd><p>Decode the contents of the <em>input</em> file and write the resulting decoded binary
data to the <em>output</em> file. <em>input</em> and <em>output</em> must be <a class="reference internal" href="../glossary.html#term-file-object"><em class="xref std std-term">binary file objects</em></a>.  If the optional argument <em>header</em> is present and true, underscore
will be decoded as space. This is used to decode &#8220;Q&#8221;-encoded headers as
described in <span class="target" id="index-2"></span><a class="rfc reference external" href="http://tools.ietf.org/html/rfc1522.html"><strong>RFC 1522</strong></a>: &#8220;MIME (Multipurpose Internet Mail Extensions)
Part Two: Message Header Extensions for Non-ASCII Text&#8221;.</p>
</dd></dl>

<dl class="function">
<dt id="quopri.encode">
<tt class="descclassname">quopri.</tt><tt class="descname">encode</tt><big>(</big><em>input</em>, <em>output</em>, <em>quotetabs</em>, <em>header=False</em><big>)</big><a class="headerlink" href="#quopri.encode" title="Permalink to this definition">¶</a></dt>
<dd><p>Encode the contents of the <em>input</em> file and write the resulting quoted-
printable data to the <em>output</em> file. <em>input</em> and <em>output</em> must be
<a class="reference internal" href="../glossary.html#term-file-object"><em class="xref std std-term">binary file objects</em></a>. <em>quotetabs</em>, a flag which controls
whether to encode embedded spaces and tabs must be provideda and when true it
encodes such embedded whitespace, and when false it leaves them unencoded.
Note that spaces and tabs appearing at the end of lines are always encoded,
as per <span class="target" id="index-3"></span><a class="rfc reference external" href="http://tools.ietf.org/html/rfc1521.html"><strong>RFC 1521</strong></a>.  <em>header</em> is a flag which controls if spaces are encoded
as underscores as per <span class="target" id="index-4"></span><a class="rfc reference external" href="http://tools.ietf.org/html/rfc1522.html"><strong>RFC 1522</strong></a>.</p>
</dd></dl>

<dl class="function">
<dt id="quopri.decodestring">
<tt class="descclassname">quopri.</tt><tt class="descname">decodestring</tt><big>(</big><em>s</em>, <em>header=False</em><big>)</big><a class="headerlink" href="#quopri.decodestring" title="Permalink to this definition">¶</a></dt>
<dd><p>Like <a class="reference internal" href="#quopri.decode" title="quopri.decode"><tt class="xref py py-func docutils literal"><span class="pre">decode()</span></tt></a>, except that it accepts a source <a class="reference internal" href="functions.html#bytes" title="bytes"><tt class="xref py py-class docutils literal"><span class="pre">bytes</span></tt></a> and
returns the corresponding decoded <a class="reference internal" href="functions.html#bytes" title="bytes"><tt class="xref py py-class docutils literal"><span class="pre">bytes</span></tt></a>.</p>
</dd></dl>

<dl class="function">
<dt id="quopri.encodestring">
<tt class="descclassname">quopri.</tt><tt class="descname">encodestring</tt><big>(</big><em>s</em>, <em>quotetabs=False</em>, <em>header=False</em><big>)</big><a class="headerlink" href="#quopri.encodestring" title="Permalink to this definition">¶</a></dt>
<dd><p>Like <a class="reference internal" href="#quopri.encode" title="quopri.encode"><tt class="xref py py-func docutils literal"><span class="pre">encode()</span></tt></a>, except that it accepts a source <a class="reference internal" href="functions.html#bytes" title="bytes"><tt class="xref py py-class docutils literal"><span class="pre">bytes</span></tt></a> and
returns the corresponding encoded <a class="reference internal" href="functions.html#bytes" title="bytes"><tt class="xref py py-class docutils literal"><span class="pre">bytes</span></tt></a>. By default, it sends a
False value to <em>quotetabs</em> parameter of the <a class="reference internal" href="#quopri.encode" title="quopri.encode"><tt class="xref py py-func docutils literal"><span class="pre">encode()</span></tt></a> function.</p>
</dd></dl>

<div class="admonition seealso">
<p class="first admonition-title">See also</p>
<dl class="last docutils">
<dt>Module <a class="reference internal" href="base64.html#module-base64" title="base64: RFC 3548: Base16, Base32, Base64 Data Encodings; Base85 and Ascii85"><tt class="xref py py-mod docutils literal"><span class="pre">base64</span></tt></a></dt>
<dd>Encode and decode MIME base64 data</dd>
</dl>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
  <h4>Previous topic</h4>
  <p class="topless"><a href="binascii.html"
                        title="previous chapter">19.8. <tt class="docutils literal"><span class="pre">binascii</span></tt> &#8212; Convert between binary and ASCII</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="uu.html"
                        title="next chapter">19.10. <tt class="docutils literal"><span class="pre">uu</span></tt> &#8212; Encode and decode uuencode files</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
  <li><a href="../bugs.html">Report a Bug</a></li>
  <li><a href="../_sources/library/quopri.txt"
         rel="nofollow">Show Source</a></li>
</ul>

<div id="searchbox" style="display: none">
  <h3>Quick search</h3>
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    Enter search terms or a module, class or function name.
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>  
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="uu.html" title="19.10. uu — Encode and decode uuencode files"
             >next</a> |</li>
        <li class="right" >
          <a href="binascii.html" title="19.8. binascii — Convert between binary and ASCII"
             >previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="https://www.python.org/">Python</a> &raquo;</li>
        <li>
          <span class="version_switcher_placeholder">3.4.3</span>
          <a href="../index.html">Documentation</a> &raquo;
        </li>

          <li><a href="index.html" >The Python Standard Library</a> &raquo;</li>
          <li><a href="netdata.html" >19. Internet Data Handling</a> &raquo;</li> 
      </ul>
    </div>  
    <div class="footer">
    &copy; <a href="../copyright.html">Copyright</a> 1990-2015, Python Software Foundation.
    <br />
    The Python Software Foundation is a non-profit corporation.
    <a href="https://www.python.org/psf/donations/">Please donate.</a>
    <br />
    Last updated on Feb 26, 2015.
    <a href="../bugs.html">Found a bug</a>?
    <br />
    Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.2.3.
    </div>

  </body>
</html>